﻿using System.ComponentModel.DataAnnotations;

namespace 示例中体现的ModelBus核心思想.Models.View
{
    /// <summary>
    /// 视图模型：用于API请求/响应
    /// 仅包含前端需要的字段，与业务和存储解耦
    /// </summary>
    public class ProductView
    {
        public Guid Id { get; set; }

        [Required(ErrorMessage = "商品名称不能为空")]
        [MaxLength(100)]
        public string Name { get; set; }

        [Range(0.01, double.MaxValue, ErrorMessage = "价格必须大于0")]
        public decimal Price { get; set; }

        // 前端友好的状态描述（如"在售"而非"Active"）
        public string StatusText { get; set; }

        // 领域行为计算的结果（是否可售）
        public bool IsAvailable { get; set; }
    }
}
